from Clases.AlgoritoAjuste import AlgoritoAjuste

class PeorAjuste(AlgoritoAjuste):
    pass

    def guardarEnMemoria(self,pid,listaInstrucciones,asignacion):
        lista = self.listaEspaciosLibres()
        counter = 0
        bloqueMayorTamanio = self.mayorDeLista(lista)
        pudoGuardar = False
        
        if bloqueMayorTamanio >= len(listaInstrucciones):
            while not len(lista)== counter and not pudoGuardar:
                
                    if lista[counter] ==  bloqueMayorTamanio:
                        pudoGuardar = True
                        asignacion.agregarDireccionBase(pid,self.dameDirBase(counter,self.getBloquesLibres()))
                        self.guardar(self.bloquesLibres[counter],listaInstrucciones) 
                        #self.bloquesLibres[counter] deberia retornarme
                        # el bloque libre que cumple la condicion de guardar la lista de instrucciones
                    else:
                        counter +=1
        return pudoGuardar
    
    #parcial con lista vacia o con valores negativos.
    def mayorDeLista(self,lista): #recibe una lista de numeros.
        resultado =max(lista) #agrego la variable solamente para poder ver el resultado con el debug
        return resultado
                

        
        
        
        